<template>
  <div class="main">
    <h3 class="center">先向左滚动试试，然后向右滚动试试</h3>
    <div id="box">
      <a id="left" href="javascript:;">向左滚动</a>
      <a id="right" href="javascript:;">右右滚动</a>
      <div class="content">
        <div id="wrap">
          <ul class="clearfix">
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
            <li>6</li>
            <li>7</li>
            <li>8</li>
            <li>9</li>
            <li>10</li>
          </ul>
        </div>
      </div>
    </div>
  </div>
</template>

<script>
export default {
  name: "",
  components: {},
  props: {},
  data() {
    return {};
  },
  computed: {},
  watch: {},
  created() {},
  async mounted() {
    this.init();
  },
  methods: {
    // 封装getStyle函数
    getStyle(obj, attr) {
      return obj.currentStyle
        ? obj.currentStyle[attr]
        : getComputedStyle(obj, false)[attr];
    },

    init() {
      let oBox = document.getElementById("box");
      let oLeft = document.getElementById("left");
      let oRight = document.getElementById("right");
      let oWrap = document.getElementById("wrap");
      let num = 0;
      let timer = null;

      oLeft.onmousedown = () => {
        oWrap.timer = setInterval(() => {
          let dis = parseInt(this.getStyle(oWrap, "left")) + 5;

          dis = dis < 0 ? dis : 0;

          oWrap.style.left = dis + "px";
        }, 30);
      };

      oLeft.onmouseup = () => {
        clearInterval(oWrap.timer);
      };

      oRight.onmousedown = () => {
        oWrap.timer = setInterval(() => {
          let dis = parseInt(this.getStyle(oWrap, "left")) - 5;

          dis = dis > -650 ? dis : -650;

          oWrap.style.left = dis + "px";
        }, 30);
      };

      oRight.onmouseup = () => {
        clearInterval(oWrap.timer);
      };
    },
  },
};
</script>

<style>
* {
  padding: 0;
  margin: 0;
}
li {
  list-style: none;
}
.clearfix {
  *zoom: 1;
}
.clearfix:after {
  clear: both;
  display: block;
  content: "";
  height: 0;
  overflow: hidden;
}
a {
  text-decoration: none;
  color: #333;
}
a:hover {
  color: #f00;
}
.center {
  text-align: center;
  margin-top: 20px;
  font-family: "Microsoft Yahei";
}
#box {
  width: 700px;
  margin: 20px auto;
  border: 1px solid #ccc;
  background: #fff;
  font-size: 12px;
  position: relative;
  height: 120px;
}
#left,
#right {
  position: absolute;
  z-index: 2px;
  cursor: pointer;
  background: #eee;
  width: 20px;
  text-align: center;
  height: 100%;
  line-height: 2.4;
}
#left {
  left: 0;
}
#right {
  right: 0;
}
.content {
  margin-left: 20px;
  width: 660px;
  height: 120px;
  overflow: hidden;
  position: relative;
  background: #ccc;
}
#wrap {
  position: absolute;
  left: 0;
  width: 1500px;
}
#wrap ul {
  padding: 10px 0;
}
#wrap li {
  float: left;
  width: 120px;
  height: 100px;
  background: purple;
  margin-left: 10px;
}
</style>
